package main

import (
	"fgo/advance/db/gorm/models"
	"github.com/google/martian/log"
	"sync"
	"time"
)

func main() {
	log.SetLevel(log.Info)
	db := models.NewDb()
	// SetMaxIdleConns 设置空闲连接池中的最大连接数。
	db.DB().SetMaxIdleConns(10)
	// 设置数据库连接最大打开数
	db.DB().SetMaxOpenConns(100)
	// SetConnMaxLifetime 设置可重用连接的最长时间
	db.DB().SetConnMaxLifetime(time.Hour)
	wg := new(sync.WaitGroup)
	for i := 10; i < 200; i++ {
		wg.Add(1)
		go func() {
			defer wg.Done()
			_ = db.DB().Ping()
			log.Infof("%+v", db.DB().Stats())
		}()
	}
	wg.Wait()
}
